package com.davy.gridpoint.activity;

import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.TextView;

import com.davy.gridpoint.BaseActivity;
import com.davy.gridpoint.R;
import com.davy.gridpoint.utils.StringUtils;

public class WebViewActivity extends BaseActivity {
    private WebView webView;
    private TextView tvTitle;
    private String url;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_webview);
        statusbar4();
        url = getIntent().getStringExtra("url");
        findViewById(R.id.imgBack).setOnClickListener(v -> finish());
        webView = findViewById(R.id.webView);
        tvTitle = findViewById(R.id.tvTitle);
        StringUtils.setTextWithMaxLength(tvTitle, getIntent().getStringExtra("title") + "", 9);

        initWebViewSettings();
    }

    private void initWebViewSettings() {
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptCanOpenWindowsAutomatically(true);
        webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
        //如果访问的页面中要与Javascript交互，则webview必须设置支持Javascript
        webSettings.setJavaScriptEnabled(true);
        //设置自适应屏幕，两者合用
        webSettings.setUseWideViewPort(true); //将图片调整到适合webview的大小
        webSettings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小
        //字体和屏比设置
//        webSettings.setTextZoom(100);
        // 缩放操作
        webSettings.setSupportZoom(true); //支持缩放，默认为true。是下面那个的前提。
        webSettings.setBuiltInZoomControls(false); //设置内置的缩放控件。若为false，则该WebView不可缩放
        webSettings.setDisplayZoomControls(false); //隐藏原生的缩放控件
        // 其他细节操作
        webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); //关闭webview中缓存
        webSettings.setLoadsImagesAutomatically(true); //支持自动加载图片
        webSettings.setDefaultTextEncodingName("utf-8");//设置编码格式
        // webSettings.setDefaultFontSize(20); //设置默认字体大小

        webView.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                // 当URL不是以http://或https://开头时，不跳转到外部浏览器，否则允许跳转
                if (!url.startsWith("http://") && !url.startsWith("https://")) {
                    return false;
                } else {
                    // 此处可以处理跳转逻辑，例如加载新的URL或者做其他操作
                    view.loadUrl(url);
                    return true;
                }
            }
        });

        webView.loadUrl(url);
        //加载html数据
        // webView.loadDataWithBaseURL(null, infoMap.get("content") + "", "text/html", "utf-8", null);
    }
}